草庐IT

php str_replace函数问题

全部标签

javascript - 为什么在将函数作为参数传递时必须省略括号?

我正在努力思考为什么以下代码在包含括号时会导致堆栈溢出,但在省略括号时却不会。我正在调用函数本身作为setTimeout的参数,它在没有括号的情况下工作,但是当我添加它们时当然会失败。在函数之后添加()是我的直觉。只希望有人能帮我解决这个问题。什么时候parans是可选的而不是?案例1:vara=1;functionfoo(){a++;document.write(a);setTimeout(foo(),2000)}​//RangeError:Maximumcallstacksizeexceeded案例2:vara=1;functionfoo(){a++;document.write(

javascript - 为什么我的全局变量在函数中不可访问?

这个问题在这里已经有了答案:UnderstandingGlobal&LocalScopeinJavascript(2个答案)关闭5年前。我认为myColor可以从sayColor()本地上下文访问,但即使我在第一次警报后声明myColor也不是。为什么?varmyColor="blue";functionsayColor(){alert(myColor);//undefinedexpectedbluevarmyColor="green";alert(myColor);//green}sayColor();

用于验证时间 00 :00 with regular expression 的 Javascript 函数

我正在尝试创建一个带有正则表达式的javascript函数来验证和格式化24小时时间,接受不带分号的时间并删除空格。例子:如果用户键入"0100"、"100"或"100",它将被接受但格式为"01:00"如果用户键入"01:00",它将被接受,无需格式化。谢谢。 最佳答案 functionformatTime(time){varresult=false,m;varre=/^\s*([01]?\d|2[0-3]):?([0-5]\d)\s*$/;if((m=time.match(re))){result=(m[1].length===

javascript - 在 Notepad++ 中编译/运行 Javascript [初学者问题]

我是一名初级程序员。我对javascript的了解有限,但我只在IDE中工作过。我目前正在关注教授javascript的Lifehacker编程系列。我已经下载了Notepad++并完成了一个程序,但我不确定运行它的步骤。在视频中,用户只需将程序发送到浏览器,代码就会从那里运行。引用视频如下:http://bit.ly/gUsMd3谢谢!(注意:我是编程和这个网站的初学者,所以欢迎任何建设性的批评) 最佳答案 Javascript不需要编译,可以放在之间和在文件中,将其另存为something.html并在浏览器中打开。Java需要

函数返回数组上的 Javascript `new` 关键字

我正在尝试使用new关键字,但找不到对此行为的解释。假设我们有一个返回整数的函数:(在Firebug中)>>>functionx(){return2;}>>>x()2>>>newx()x{}但是如果函数返回一个数组:>>>functiony(){return[2];}>>>y()[2]>>>newy()[2]这是为什么? 最佳答案 new运算符有一个有趣的行为:它返回由运算符创建的对象,除非构造函数返回一个不同的对象。构造函数的任何非对象返回值都将被忽略,这就是为什么当您返回2时您看不到它。下面是当你说newx()时会发生什么:解释

javascript - 类型转换问题,如何使用旧的 == 而不是 ===

我真的很喜欢Coffeescript,但最近让我发疯的一件事是if语句中数字和字符串的类型问题。通常这不是问题,因为当你使用==时Javascript不关心,但Coffeescript将所有比较转换为===。有没有办法恢复草率的旧==比较?我喂了傻瓜,但我还没有在上面找到任何东西。原因是我使用出色的http://js2coffee.org/转换了其他人的代码使其更易于阅读,但随后我输入了类型转换问题,因为==比较被===取代。不用说,我他妈懒得重构整个代码;)。 最佳答案 这是设计使然。引自书中CoffeeScript:Accele

javascript - 类型错误:无法调用 null 的方法 'getContext'(匿名函数)

我是这方面的初学者,之前没有真正使用过任何JavaScript,所以我希望你能帮助我。我制作了一个Canvas,让用户可以使用单选按钮选择形状和颜色,然后将其绘制到Canvas上。我还添加了一个复选框,其中包含为所选颜色添加渐变的选项。这是程序:http://people.dsv.su.se/~caak1743/Canvas/canvas.html现在我不想让形状可以在Canvas区域周围拖放。而且我发现了一个代码,我认为可以对其进行更改以在我的程序中工作,但我不断得到:类型错误:无法调用null的方法“getContext”在里面(匿名函数)对于行:varctx=canvas.get

javascript - 将参数传递给内联函数

我想使用带参数的内联函数来设置变量。这是我正在尝试的一个简化版本(此时显然只是伪代码):varsomething=10;varsomething_else=15;vardynamic_value=(function(something,something_else){if(something==something_else){return"x";}else{return"y";}})();在这种情况下,“dynamic_value”应该是“y”。问题是变量“something”和“something_else”从未在此内联函数中出现。如何向内联函数发送参数?编辑:我正在使用jquery

Chrome 中 scrollTo() 的 JavaScript 问题

我尝试创建一个网页,该网页的顶部有一个固定的导航栏,覆盖了下面的内容。当在url中加载带有anchor的页面时,正常行为是页面将anchor滚动到窗口顶部。但随后该内容隐藏在导航栏下。所以我尝试用JavaScriptscrollTo()来解决这个问题。我的解决方案适用于Firefox和Opera,但不适用于Chrome。请尝试这个例子。有什么想法可以解决Chrome中的这个问题吗?谢谢。测试.htm:Test#navi{position:fixed;left:0;top:0;width:100%;height:100px;background-color:yellow;}#spacer

javascript - Math.round() 和 .toFixed() 中的舍入问题

我使用了以下两种方法:Number.prototype.myRound=function(decimalPlaces){varmultiplier=Math.pow(10,decimalPlaces);return(Math.round(this*multiplier)/multiplier);};alert((239.525).myRound(2));数学上alert应该是239.53但它给出239.52作为输出。所以我尝试使用.toFixed()函数&我得到了正确的答案。但是当我尝试获取239.575的答案时,它再次给出了错误的输出。alert((239.575).toFixed(